1. Field of the Invention
The present invention generally relates to computer software. More specifically, the present invention relates to techniques for overriding layer properties in computer-aided design (CAD) viewports.
2. Description of the Related Art
The term computer-aided design (CAD) generally refers to a broad variety of computer-based tools used by architects, engineers, and other construction and design professionals. CAD applications may be used to construct CAD drawings that include computer models of real-world objects, e.g., a machine part, a car, a house, or a building.
In many cases, a CAD drawing may include a number of layers, with each layer including a set of drawing objects. Generally, a layer defines a transparent overlay on which users organize and group different kinds of drawing objects. Layers are used to control the visibility of objects as well as to assign properties to objects. For example, in a CAD drawing of a building, a user may include a layer for walls, a layer for electrical wiring and fixtures, a layer for furniture, and a layer for doors, etc. Layers also allow users to more easily manage related drawing objects included in a drawing and control over the appearance of a printed or screen-display of a CAD drawing. For example, at a basic level, a user may turn on (or off) the display of a given layer. Further, display properties may define the general appearance of a objects included on a given layer. The style properties for a given layer typically include, among others, line color, line type or line style, line thickness, and plot style. By setting different display properties for the various layers of a CAD drawing, different aspects of the drawing may be emphasized (or deemphasized). For example, a dashed line type is often used to display objects in a background layer.
Some CAD applications allow users to define a particular set of layers from a CAD drawing to include in a customized view-generally referred to as a viewport. A viewport may be configured to present the CAD drawing from a particular point of view (e.g., plan view, elevation view, etc.) and for a particular scale (i.e., zoom.) Typically, a viewport is configured to present the point of view, scale, and layers of a CAD drawing that are most relevant for a specific use. For example, a viewport may be created for use by electricians taking part in the construction of a building that includes a layer for the walls of a room and a layer for electrical wiring and fixtures for that room. By contrast, a layer for doors and a layer for furniture may be omitted from the viewport since electricians generally do not require the information in those layers. By omitting the unnecessary layers, the viewport results in a drawing display that is less cluttered and thus easier for the electricians to use.
A viewport may also be adapted for a specific use by setting the display properties of the included layers to emphasize the parts of the CAD drawing that are most relevant to the intended use. Returning to the above example of a viewport created for electricians, the display properties of the layer for the walls may be set so the lines of this layer are thin and colored grey, and the display properties of the layer for electrical wiring and fixtures may be set so the lines of this layer are thick and colored red. Thus, the parts of the CAD drawing that are most important to electricians may be emphasized when the CAD drawing is displayed using this viewport.
However, changing the display properties of a layer for a particular viewport may cause a number of problems. Since the same layer may be included in many viewports, the display properties required for one viewport may conflict with the display properties required for other viewports. Similarly, the display properties required for one viewport may conflict with the display properties of the overall CAD drawing if the layer is included in displays of the CAD drawing. One solution for this problem is to create separate copies of a layer for each viewport in which that layer is included and to customize each copy of the layer with display properties used for a particular view of the CAD drawing.
One drawback to this approach, however, is that it requires that changes to the drawing objects included in one copy of the layer be replicated in each of the other copies of the layer. This process of propagating changes through copies of a layer is time-consuming and error-prone. In addition, if there are multiple layers in each viewport, and if the layers must be copied to multiple viewports, the duplication of layers can result in large file sizes for a given CAD drawing.
As the foregoing discussion illustrates, there remains a need in the art for improved techniques for generating display representations of CAD drawings.